export interface IDictItem {
    id: number
    parentId: number
    name: string
    value: string
    dictCode: null
    hasChildren: boolean
    children:IDictList | null
}

export type IDictList = IDictItem[]

export interface IHospitalListFields {
    hoscode?: string
    hosname?: string
    hostype?: string
    provinceCode?: string
    cityCode?: string
    districtCode?: string
    status?: 0 | 1
}
/**
 * 获取医院列表分页数据请求参数类型
 */
export interface IHospitalListParams extends IHospitalListFields {
    page: number | string
    limit: number | string

}
/**
 * 预约对象类型
 */
export interface IBookingRule {
    "cycle": number,
    "releaseTime": string
    "stopTime": string
    "quitDay": number
    "quitTime": string
    "rule": string[]
}
/**
 * 医院列表 一个医院对象类型
 */
export interface IHospitalItem {
    id: string
    param: {
        hostypeString: string
        fullAddress: string
    },
    hoscode: string
    hosname: string
    hostype: string
    provinceCode: string
    cityCode: string
    districtCode: string
    address: string
    logoData: string
    intro: string
    status: 0 | 1
    bookingRule: IBookingRule | null
    route?: string
}
export type IHospitalList = IHospitalItem[]
/**
 * 医院列表分页数据，响应结果类型
 */
export interface IHospitalListResponse {
    content: IHospitalList
    totalElements: number
}

/**
 * 医院详情 响应体类型
 */
export interface IHospitalDetailResponse {
    bookingRule: IBookingRule
    hospital: IHospitalItem
}

/**
 * 科室对象类型
 */
export interface IDepartmentItem {
    depcode: string;
    depname: string;
    children: IDepartmentList | null;
    disabled: boolean;
}

/**
 * 科室列表类型
 */
export type IDepartmentList = IDepartmentItem[]


/**
 * 排班日期对象类型
 */
export interface IBookingScheduleItem {
    workDate: string
    workDateMd: null
    dayOfWeek: string
    docCount: number
    reservedNumber: number
    availableNumber: number
    status: null
}
/**
 * 排班日期列表类型
 */
export type IBookingScheduleList = IBookingScheduleItem[]

/**
 * 排班日期响应体类型
 */
export interface IScheduleResponse {
    total: number;
    bookingScheduleList: IBookingScheduleList;
    baseMap: {
        hosname: string
    }
}
/**
 * 排班医生对象类型
 */
export interface IDoctorItem {
    "id": string;
    "createTime": string;
    "updateTime": string;
    "isDeleted": number;
    "param": {
        "dayOfWeek": string;
        "depname": string;
        "hosname": string;
    },
    "hoscode": string;
    "depcode": string;
    "title": string;
    "docname": string;
    "skill": string;
    "workDate": string;
    "workTime": number;
    "reservedNumber": number;
    "availableNumber": number;
    "amount": number;
    "status":number;
    "hosScheduleId": string;
}
/**
 * 排班医生列表类型
 */
export type IDoctorList = IDoctorItem[]

